package org.richin.support.orm;

import java.io.Serializable;
import java.util.List;

import org.hibernate.criterion.Criterion;
import org.springside.modules.orm.PropertyFilter;

public interface IPageDAO<T, ID extends Serializable> extends IHibernateDaoSupport<T, ID> {
	public Page<T> getAll(Page<T> page);
	public Page<T> find(Page<T> page, String queryString, Object...values);
	public List<T> findByProperty(String propertyName, Object value,
			String matchTypeStr);
	public Page<T> find(Page<T> page, List<PropertyFilter> filters);
	 public Page<T> findByCriteria(Page<T> page, Criterion...criterions);
	 public Page<T> findByNamedQuery(Page<T> page,String queryName,Object...values);
}
